1. Technical Field
The present invention relates generally to optimizing and harmonizing the use of shared devices by applications in a communications network. Optimization includes performance and scalability; harmonization includes enabling heretofore disparate applications to coexist and share network resources.
2. Background of the Related Art
The term “rendezvous” is well-established in the computing literature in the context of programming language support for concurrent computing and real-time operating systems. In particular, computer languages, such as Ada and Distributed Logic Programming (DLP), use the concept of “rendezvous” to refer, respectively, to the process of synchronizing concurrent tasks and objects. Real-time operating systems commonly provide interfaces allowing applications to express deadlines, thereby facilitating deadline scheduling (which is a form of rendezvous scheduling). These uses of the term “rendezvous” are oriented toward managing or scheduling the use of processing resources in closed systems.
The term “rendezvous” is also used in literature relating to communications networks. In particular, so-called rendezvous protocols have been defined, but typically in the context of some human or network organizational task. For example, rendezvous scheduling is used to manage meeting rooms, A/V equipment, video conference resources, and other resources for in-person and/or on-line meetings. Or, for example, on-line dating services may arrange for a rendezvous between its clientele. Computer and network applications and/or systems of communications may be employed, but the rendezvous is between humans.
In network environments, “rendezvous” may be used by nodes or services of a cluster in establishing a quorum. “Rendezvous” also is used in network routing to mean a place, a rendezvous point, through which network traffic flows. Further, “rendezvous” is also used in the mobile network context, such as with Bluetooth and other wireless network technologies, to mean a place where access through surrounding networks is established. These uses are principally concerned with network organization, namely, management, configuration, authorization, connection and session establishment, and the like.
Thus, while literature in computing theory and practice describes many potential benefits associated with rendezvous techniques (rendezvous or deadline scheduling, rendezvous synchronization, and the like), such techniques have been limited. Devices in a network may or may not use rendezvous functionality internally—embedded operating systems often include rendezvous interfaces—but rendezvous functionality, even if it exists, is rarely exposed to applications across a communications network and no general method is known to exist. At best, some protocols provide a means for setting priority. Although priority is a useful attribute, it alone severely limits the ability to optimize the use of shared resources in a communications network, especially when heterogeneous usage patterns are involved.
Matters concerning performance in a communications network are generally addressed from a Quality of Service (QoS) perspective. QoS mechanisms operate on the service (e.g., Differentiated Services) or session (e.g., Resource Reservation Protocol) level, and are not typically applied to or invoked with individual messages. Indeed, doing so would be at variance with the design intent of such mechanisms.